package com.gollum.common.utils;

import com.sun.org.apache.bcel.internal.generic.RETURN;
import org.springframework.context.MessageSource;
import org.springframework.context.NoSuchMessageException;
import org.springframework.context.i18n.LocaleContextHolder;

/**
 * 国际化翻译插件
 *
 * @author Herther
 * @createTime 2022年10月28日 23:35:00
 * @since 1.0.0
 */
public class MessageUtils {


    /**
     * 根据消息键和参数 获取消息 委托给spring messageSource
     *
     * @param code 消息键
     * @param args 参数
     * @return 获取国际化翻译值
     */
    public static String getMsg(String code, Object... args)
    {
        MessageSource messageSource = SpringUtils.getBean(MessageSource.class);
        try
        {
            return messageSource.getMessage(code, args, LocaleContextHolder.getLocale());
        }
        catch (NoSuchMessageException e)
        {
            return code;
        }
    }

    public static String getMsg(String code,String defaultMessage, Object... args)
    {
        MessageSource messageSource = SpringUtils.getBean(MessageSource.class);
        try
        {
            return messageSource.getMessage(code, args, LocaleContextHolder.getLocale());
        }
        catch (NoSuchMessageException e)
        {
            return defaultMessage;
        }
    }

}
